pipe functions